Prosthetic and orthotic devices and methods and systems for controlling the same

ABSTRACT

Prosthetic and/or orthotic devices (PODS), control systems for PODS and methods for controlling PODS are provided. As part of the control system, an inference layer collects data regarding a vertical and horizontal displacement of the POD, as well as an angle of the POD with respect to gravity during a gait cycle of a user of the POD. A processor analyzes the data collected to determine a locomotion activity of the user and selects one or more control parameters based on the locomotion activity. The inference layer may be situated between a reactive layer control module and a learning layer control module of the control system architecture.

CROSS-REFERENCE TO RELATED APPLICATION

Any and all applications for which a foreign or domestic priority claimis identified in the Application Data Sheet as filed with the presentapplication are incorporated by reference under 37 CFR 1.57 and made apart of this specification. For example, the present application is acontinuation of U.S. application Ser. No. 15/896,784, filed Feb. 14,2018, entitled “PROSTHETIC AND ORTHOTIC DEVICES AND METHODS AND SYSTEMSFOR CONTROLLING THE SAME,” which is a continuation of U.S. applicationSer. No. 14/549,278, filed Nov. 20, 2014, entitled “PROSTHETIC ANDORTHOTIC DEVICES AND METHODS AND SYSTEMS FOR CONTROLLING THE SAME,” nowU.S. Pat. No. 9,925,071, issued on Mar. 27, 2018, which is a divisionalof U.S. application Ser. No. 13/248,532, filed Sep. 29, 2011, entitled“PROSTHETIC AND ORTHOTIC DEVICES AND METHODS AND SYSTEMS FOR CONTROLLINGTHE SAME,” now U.S. Pat. No. 8,915,968, issued on Dec. 23, 2014, whichclaims priority to U.S. Provisional Application No. 61/387,888, entitled“INFERENCE LAYER CONTROL SYSTEMS AND METHODS FOR PROSTHETIC AND ORTHOTICAPPLICATIONS,” filed Sep. 29, 2010, the entirety of each of which ishereby incorporated by reference for all purposes and forms a part ofthe specification.

FIELD OF THE INVENTION

Embodiments disclosed herein generally relate to motorized prostheticand/or orthotic devices (PODS) and control systems and methods foroperating the same.

BACKGROUND

Prosthetic and orthotic devices for restoring or replacing lostlower-limb functions have been available for many years. Until recently,both types of devices were found as purely mechanical linkages makingadvantageous usage of simple mechanisms in order to preclude kneebuckling in level walking stance phase, while still ensuring some formof swing motion during the aerial phase. While this type of device wasshown to be fairly efficient in restoring the structural aspects of thelower-limb role in gait, their incapacity to properly sustain the widevariety of lower-limb dynamics associated with the various gaitlocomotion activities performed on a daily basis appeared as asufficient limitation to sustain the development of more advanceddevices.

While significant efforts were directed towards designing more advancedmechanisms allowing easier adjustment, or more progressive action,through pneumatics and hydraulics, the rapid advances in energy storageand computer technologies soon allowed to extend the realm of capacitiesassociated with typical orthotic and prosthetic devices. Real-timeconfiguration of passive braking devices such as disclosed, for example,in U.S. Pat. No. 5,383,939 and US Patent Application Publication No.2006/0136072 A1, greatly improved the adaptability of prosthetic devicesto user gait specificities or to variations of the environment in whichthe locomotion tasks are performed. Moreover, these prosthetic devicesallowed the addressing of energy dissipative locomotion tasks in aphysiologically-compliant manner never seen before. Although showingincreased performance and dynamic adaptation with respect to thelocomotion tasks being undertaken when compared to their predecessors,this first generation of computer-controlled prosthetic devices stilllacked the adaptability and flexibility required to smoothly integrateinto users' daily lives.

Integration of computer controls to the prosthetic and orthotic devicesbrought about changes to the control system in order to link sensoryinputs to the dynamically configurable actuator. However, the purelydissipative nature of these devices greatly simplifies the problem asmechanical power exchanges between the user and the device areunidirectional (i.e., user has to initiate all tasks and providemechanical power).

Latest efforts in the field of advanced orthotic and prosthetic devices,such as disclosed, for example, in US Patent Application Publication No.2004/0181289 A1, partly resolved some of the limitations observed in thefirst generation of computer-controlled orthotic and prosthetic devicesby providing a fully motorized prosthetic platform, allowing to addressall major locomotion tasks, irrespective of their generative ordissipative nature. Requirements for computer-controlled systemincreased in complexity as the interactions between the user and theprosthetic or orthotic device were no longer solely initiated by theuser. Through the use of a two layer control system, the motorizedprosthetic or orthotic device allowed to efficiently manage themechanical power exchange between the user and the device, such that thesynergy between user and motorized prosthetic or orthotic deviceglobally benefited the user. Adequate usage of the prosthetic ororthotic device capacity to generate mechanical power was observed tolead to increased gait quality and activity levels.

Nevertheless, the use of strict state machines to implement theartificial intelligence engine as the highest layer of the prosthetic ororthotic device control system is observed to impose a certain formalismon the manner in which the user executes typical locomotion tasks. Whilegenerating a certain learning burden on the user side, the use of firmtriggers in order to trigger either distinct state transition orspecific joint behavior greatly affects man-machine symbiosis. Moreover,limitations associated with the use of a strict state machine artificialintelligence engine when working in a highly variable environment (i.e.,external environment and user himself) are well known and quickly showup as robustness issues from a system perspective. Finally, processingassociated with the extraction of complex features associated withspecific locomotion task detection is also known to generate a latencybetween measurement of the sensors value and implementation of theactual actions, which is often observed to greatly affect the prostheticor orthotic device usability and performance.

Furthermore, common prosthetic or orthotic devices lack the ability toproperly reproduce natural knee joint behavior and dynamic propertieswhen used in a context that significantly differs from typicallocomotion tasks. While generation of proper joint dynamics duringcyclical locomotion portions ensure high symbiosis and user benefits,limitations observed in the capacity to reproduce natural jointcompliance, or motions, in either non-locomotor or non-cyclical taskssignificantly affect orthotic, or prosthetic, device usability and,accordingly, associated user benefits.

SUMMARY

The following disclosure describes non-limiting examples of someembodiments of prosthetic and/or orthotic devices (PODS), controlsystems for PODS and methods for controlling PODS. Specifically, acontrol system architecture and associated engines are described thatare able to more efficiently sustain limited ambulation, as well asnon-cyclical and cyclical gait for users suffering from eitheramputation of the lower-limb or dysfunction. For instance, otherembodiments of the disclosed systems and methods may or may not includethe features described herein. Moreover, disclosed advantages andbenefits may apply only to certain embodiments of the invention andshould not be used to limit the disclosure.

In certain embodiments, an inference layer control system utilizesinertial sensors for prosthetic and orthotic applications. For instance,certain embodiments of the control system can be designed to manage thedetection of, and transitions between, locomotion activities in alower-limb prosthetic and/or orthotic device (POD) configured to supportlocomotion activities typically associated with daily living. In certainembodiments, the inference layer control system can analyze, inreal-time and/or online, a data stream, generate a high-level physicalrepresentation of signals associated with the POD operation, detectlocomotion activities and inter-activities transitions, trigger thelearning layer described below, perform combinations of the same, andthe like.

Certain embodiments include a real-time control system that can userelative vertical and horizontal displacements between consecutive footstrikes (e.g., when the POD or a foot member coupled with the POD makescontact with the ground and begins the stance phase), as well as bothrelative and absolute lower-limb sagittal plane segment angles, toidentify and discriminate between major locomotion activities. Suchactivities, in certain embodiments, can be grouped into four classes:“Fumbling Around,” “Forward Progression,” “Generation,” “Dissipation,”and their respective specific modes.

In certain further embodiments, an inertial navigation engine (INE) canbe used to estimate (e.g., in real-time) absolute and relative sagittalplane lower-limb segment angles and relative horizontal and verticaldisplacements between consecutive prosthetic foot strikes. Thehorizontal and vertical displacements can be calculated for the thighsegment, the shank segment, the POD, the joint segment, an upper segmentor lower segment, a foot segment, and the like. Such an engine canadvantageously improve performance and conviviality of motorizedlower-limb prostheses.

In an embodiment, the INE is provided based on one or more InertialMeasurement Units (IMUS). IMUS can be positioned on the distal part of ashank segment of a lower-limb POD and on the distal part of a thighsegment. Alternatively or additionally, a sagittal plane rate gyroscopecan be coupled with the appropriate compatible IMUS. These units can becoupled with appropriate algorithms and signal processing to make thefollowing estimations: lower-limb segment sagittal plane absolute angleswith respect to gravity, lower-limb segment sagittal plane relativeangles with respect to two or more gait events that can present asignificant measure of a given gait characteristic, relative verticaldisplacement associated with consecutive foot strikes on a POD, andrelative horizontal displacement associated with consecutive footstrikes on a POD.

Certain further embodiments can include an inference layer controlmodule for a POD situated between a reactive layer control module and alearning layer module. The inference layer control module can utilizethe relative vertical and horizontal displacements between consecutivefoot strikes, absolute lower-limb segment angles, joint torque, groundcontact detection, and/or segments angular velocities to identify thenature of the current task being performed by the user. The inferencelayer control module can also include an inference layer controllerbased on general classes of locomotion behavior, such as, for example,forward progression (FP), dissipation (DIS), generation (GEN), fumblingaround (FA), downwards walking (DW), upwards walking (UW), sit-to-standtransfer (STS) and sitting (SIT) modes.

A motorized prosthetic or orthotic device (POD) is described thatincludes a first segment including a joint member and a second segmentcoupled with the first segment via the joint member. The POD alsoincludes an actuator and a control system. The actuator is configured tocontrol motion of the second segment relative to the first segment. Thecontrol includes a reactive layer which commands and controls motion ofthe second segment relative to the first segment, and an inferencelayer. The inference layer is configured to receive an input stream thatincludes a first set of data accumulated over one or more gait cycles.The first set of data includes one or more measurements of at least oneof a vertical displacement associated with the first segment or thesecond segment, a horizontal displacement associated with the firstsegment or the second segment, and an angle associated with the firstsegment or the second segment with respect to gravity. The inferencelayer is configured to identify a locomotion activity of a user of thePOD based at least on the first set of data, and transmit informationregarding the locomotion activity to the reactive layer to controlmotion of the second segment relative to the first segment. In certainembodiments, the first segment is a thigh segment and the second segmentis a shank segment.

A method for controlling a motorized prosthetic or orthotic device (POD)of a user is described. The POD includes a first segment including ajoint member and a second segment coupled with the first segment via thejoint member. The method includes receiving POD data at an inferencelayer control, wherein the POD data includes one or more measurements ofat least one of a vertical displacement of the POD, a horizontaldisplacement of the POD, and an angle of the POD with respect togravity. The method further includes determining a current locomotionactivity of the user based at least on the POD data, and transmittinginformation relating to the current locomotion activity to an actuatorcontrol.

A control system for controlling a motorized prosthetic or orthoticdevice (POD) that is actuatable about a joint is described. The controlsystem includes a first inertial measurement unit (IMU) associated witha first segment of a user and configured to collect a first set of data,wherein the first set of data includes one or more measurements of atleast one of a vertical displacement of the first segment, a horizontaldisplacement of the first segment, and an angle of the first segmentwith respect to gravity and a second IMU associated with a secondsegment of the lower-limb POD of the user and configured to collect asecond set of data, wherein the second set of data includes one or moremeasurements of at least one of a vertical displacement of the secondsegment, a horizontal displacement of the second segment, and an angleof the second segment with respect to gravity. The control systemfurther includes an inference layer in communication with the first IMUand the second IMU and configured to receive the first set of data fromthe first IMU and the second set of data from the second IMU, andidentify a locomotion activity of the user based at least on the firstset of data and the second set of data.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages will becomemore readily appreciated as the same become better understood byreference to the following detailed description, when taken inconjunction with the accompanying drawings, where:

FIG. 1A is a block diagram of the interaction between various controlssystem layers and building blocks of a motorized prosthetic and/ororthotic device (POD);

FIG. 1B is a schematic diagram depicting an embodiment of a motorizedprosthetic and/or orthotic device;

FIG. 2 is a block diagram depicting an illustrative inference layercontrol system of a POD;

FIG. 3 is a block diagram depicting an illustrative detection module ofan inference control system;

FIG. 4 is a block diagram depicting an illustrative activity definitionmodule of an inference control system; and

FIG. 5 is a state diagram depicting illustrative locomotion activitiesof an inference layer control system and transitions between thelocomotion activities.

DETAILED DESCRIPTION

The following figures and description provides a detailed description ofvarious embodiments of a control system for use in controlling aprosthetic or orthotic device (POD). In some embodiments, the POD mayinclude a joint and two segments that are actuatable about the jointthrough the use of a motorized actuator. One example provided below is amotorized, lower-limb prosthesis in the form of a prosthetic knee foruse by a trans-femoral amputee. However, the control system describedherein can be applied to other types of prosthetics and orthotics aswell, such as an ankle or foot POD.

In certain embodiments, the control system includes an inference layerthat can be thought of as being loosely modeled on the human ability torespond in a rational, controlled way to external stimuli. To accomplishthis, the inference layer can comprise a set of rules and a parametermanagement system. The rule set can determine both what and whenparameters stored in a parameter management system are used. If the PODis properly tuned, the inference layer's rule set can chooseperformance-enhancing parameters specific to the user's desires in anever-changing environment.

In certain embodiments, the rule set includes two subsets of rules. Thefirst subset can be used to perform data analysis similar in nature tothe comprehension aspect of human cognition. The second subset can beused to act on the data and understanding of that data. As an example,in certain embodiments, the POD can infer from its sensors and/orestimators that it is in contact with the ground. This information, incombination with other inputs, can cause the POD to stiffen in order toprevent the knee from collapsing under the user's weight. Thus, thefirst set of rules can be thought of as interpreting and understandingstimuli from the environment, while the second set of rules can bethought of as providing a method and/or mechanism to act or react in anappropriate manner based on that understanding of the environment.

In certain embodiments, the parameter management system can update therest of the POD control system with appropriate parameters based on thedecisions made by the rule set. In effect, the management system caninclude a parameters database and parameters manager that includes theability to pass data to other parts of the control system.

In certain embodiments, the inference layer can be defined as the secondof three layers comprising the overall system. In such embodiments, thefirst layer (reactive layer) commands and controls the POD's behavior inthe desired manner, while the third layer (learning layer) analyzes thedevice's performance and makes adjustments depending on how well thedevice is performing. As such, the inference layer can act as a bufferbetween the first and third layers, only asking for assistance from thethird, or learning layer, and only commanding the first, or reactivelayer, as desired.

Advanced mechanical prosthetics can be advantageous over a more active,dynamic user because they can offer users a wide variety of potentialperformance characteristics. These devices can be limited, however, inhow they attain these different performance characteristics.Traditionally, these adjustments were made manually. The inference layerdescribed herein can make these adjustments in real-time according toestimations of absolute and relative angles and horizontal and verticaldisplacements based on data it receives from an array of sensors andestimators. The absolute angles correspond to angles with respect togravity. The relative angles and displacements correspond to a change inangles and displacements with between events, such as foot strikes.

Organizing the system in such a fashion can be advantageous from anarchitectural point of view for several reasons. The first is codeorganization. By conceiving of the system in such a fashion, it ispossible to organize the programming logic and code such that each layeris completely encapsulated and separate from the other layers. This canbe advantageous because, for example, the layer that runs the motorcontrol algorithm and guarantees stable and predictable system behaviorcan be completely separated from higher-level decision-making layers. Inturn, this can help prevent possible errors made by higher-level layersfrom trickling down the system hierarchy and adversely affecting theperformance of lower-level layers. Another advantage of thisorganization is that, should each layer become so advanced as to requireits own separate processor, reorganizing the system to work on multipleprocessors can be less complex because the different modules are alreadyimplemented as discrete functions. Furthermore, this method oforganization can make it easier to expand the prosthetic's capabilities,since only specific portions of the software are modified, as opposed toextensively modifying the entire software system. Moreover, thisorganizational approach can reduce the burden sustained by theprocessor(s), since higher-level functions are only executed whenlower-level functions require their input. In other words, code isexecuted only when necessary. Finally, this framework can simplify thedevelopment of bionic systems, since it distinguishes real-timeprocesses from event-based processes while also clearly highlighting thenature of the data stream.

Control System Layering

Certain embodiments described herein possess the organization of thecontrol system of a POD 100, as presented in FIG. 1A. This organizationof software processes, data streams, and a priori knowledge is commonlyknown as a multi-layer hierarchical architecture. This method ofarchitectural organization can satisfy at least two objectives, namelyprovide high performance control of a motorized prosthesis or orthosis,and efficiently organize processes and data stream(s) such thatinformation received from the prosthetic's sensors propagates throughthe system in an orderly and logical fashion.

The learning layer 110, the inference layer 120, and the reactive layer130 in FIG. 1A depict the hierarchical layering of the control systemarchitecture 105 of a POD 100. Moreover, the sensors 142, actuator 144,and environment 150 highlight the interactions between the controlsystem 105 and the environment in which the POD 100 operates. Certainembodiments described herein relate to the second level in the controlstructure hierarchy, namely, the inference layer 120.

In certain embodiments, the system is organized into hierarchical layersbased on an examination of the flow of data into and out of the layers,as well as the interdependencies between layers. Moreover, because thedata abstraction level necessary to infer which gait activity is beingperformed can present a level of uncertainty much higher than thatassociated with the low-level controller formulation, the creation ofseparate layers can allow the system to maintain at least a minimallevel of low-level functionality, even if the inference layer 120 isunable to make a clear decision due to computation errors, sensorerrors, or other uncertainty.

The layer names, data abstraction models, and nature of the data streamassociated with certain embodiments are described herein usingphysiological terms. The three layers that can be used to sustainmotorized prosthesis or orthosis operation in certain embodimentsinclude, but are not limited to, a learning layer 110, an inferencelayer 120, and a reactive layer 130. The different layers can becategorized based on the level of abstraction, the time frame in whichthey act, etc.

The various layers interact with each other to improve the performanceof the POD 100. For example, a well-tuned device may provide reasonableperformance using only the reactive 130 and inference layers 120, butmay be unable to evolve in order to meet the user's changing needs, orrespond to long term changes in the operating environment without theuse of a learning layer 110.

The learning layer 110 can include the control structure's highestabstraction level, and can be the level furthest away from raw sensordata. The learning layer 110 can be loosely analogized to humancognitive functions, and it can be used to recursively improve the PODcontrol system's performance as time passes. In addition, the learninglayer 110 can have the longest time frame in which it acts. For example,in certain embodiments, the learning layer 110 does not respond tochanges in gait pattern between steps. Rather, the leaning layeridentifies and responds to long-term trends in user performance.

The learning layer 110 can also define what is considered an improvementin performance. The criteria for improved or reduced performance canevolve with time as the user becomes more familiar with the device anddemands a higher level of performance. The evolution of what optimalitymeans can be thought of as the device's transition from a devicepossessing a moderate level of performance coupled with a very highlevel of safety to a device possessing a high level of performancecoupled with reduced user safety constraints, thereby increasing thedevice's flexibility and performance potential. As it evolves, thelearning layer 110 can also decide to allow user access to features thathad previously been hidden or were not made available.

In certain embodiments, the learning layer 110 can comprise an expertsystem consisting of rule and data sets that can make decisions as tohow well the POD performs in particular situations, and use theinference layer 120 to implement the high-level decision making. Thelearning layer 110 alters the rule set or parameter values used by theinference layer 120 incrementally and over longer periods of time todictate POD performance.

In addition, the learning layer 110 can provide support as thecontroller formulation itself may sometimes require change because: 1) asingle actuated POD can potentially cover a large and diversified rangeof locomotion activities, and 2) the user can progressively adapt itsbehavior, which may require additional adjustment to ensure that thesystem maintains a stable level of performance.

The inference layer 120 can be responsible for a variety of differentactivities. These activities can include, but are not limited to,identifying the current activity being performed by the user, measuringthe performance of the POD 100, requesting that the learning layer 110examine a particular performance issue, organizing and passing therequested/required data to the learning layer 110, and providing thereactive layer 130 with enough data to smoothly execute the task athand.

Within the global POD control system 105, the inference layer's role canbe conceived of as mimicking the human brain's conscious decision makingprocess. Using the rules and data it acquires from the learning layer110, the inference layer 120 can infer which course of action isappropriate from sensory data measurements and estimates. Thus, theinference layer 120 can mimic the human ability to apply what one haslearned to specific present and future situations.

Unlike the learning layer 110, the inference layer 120 reacts over thecourse of a gait cycle. The inference layer 120 can quickly apply rulesit has learned from the learning layer 110 to situations as they ariseand respond accordingly. For example, the response time of the inferencelayer 120 can be on the order of tenths of seconds.

Contextually, the inference layer 120 can be thought of as anintermediate data abstraction level, where most of the work consists ofextracting features from an input stream comprising pre-processed data.The data can be processed and characterized to achieve objectivesincluding, but not limited to, managing the POD 100 such that systembehavior matches the activity being undertaken by the user andquantifying system performance in terms of overall functionality of thedevice.

The intermediate position the inference layer 120 occupies within thehierarchy can serve an additional purpose: protecting the reactive layer130 from the learning layer 110. That is, the inference layer 120 canprevent the learning layer 110 from changing parameters directly used bythe reactive layer 130, which may lead to system instability. Instead,the learning layer 110 can suggest that the inference layer 120 take aparticular action or slightly alter a variable in a data set.

The reactive layer 130, in certain embodiments, represents the lowestabstraction level of the control structure. The reactive layer 130 candirectly enforce the desired behavior that is responsive to theactivities undertaken by the user. Here, the desired behavior can bedetermined by the inference layer's rule set, which the learning layer110 can alter.

In other words, similar to the general behavior of the human arc-reflex,the reactive layer 130 of certain embodiments can immediately enforce apredefined behavior based on a reduced set of sensory input andestimates. The time frame for the operation of the reactive layer 130can be on the order of milliseconds. More specifically, the reactivelayer 130 can handle the motor control laws of the prosthetic system.

Although the control system architecture presented in FIG. 1A may appearto hierarchical in nature, the system can have a parallel in structureby allowing the reactive layer 130 to manage itself. For example, incertain embodiments, the reactive layer 130 can use a knee torque sensoroutput to implement a low-level impedance controller to manage thesystem's actuator behavior in real-time. Alternatively, the same kneetorque sensor output can be used by the inference layer 120 to detectthe occurrence of a transition in the user's gait activity to downwardswalking. Both decisions present different levels of complexity can bemade independently by the different control layers.

Additional details regarding control layers useable with certainembodiments of the invention are disclosed in U.S. Publication No.2011/0125290 A1 and in International Patent Application No.PCT/CA2008/000110, titled “Reactive Layer Control System for Prostheticand Orthotic Devices,” filed on Jan. 21, 2008, and published as WO2008/086629 A1 on Jul. 24, 2008, the disclosures of which areincorporated herein by reference in its entirety.

Configuring the inference layer control system based on these threerationales is motivated by the possibility that there may be no singlecontrol system formulation that can respond to all user needs associatedwith an actuated POD 100 in all situations.

FIG. 1B is a diagram illustrating an embodiment of a lower-limb POD 100in the form of a motorized knee prosthesis 10, further details of whichare described in U.S. Publication No. 2009/0299480 A1, the entirety ofwhich is hereby incorporated by reference. The prosthesis 10 includes aproximal connector 17 sitting on top of an actuator 12 which is axiallymounted at the knee joint 11 level. The proximal connector is configuredto be connected to a socket (not shown) that is mountable to the legstump, e.g., a thigh, of a user. The socket can be placed over or aroundthe leg stump, or be grafted to the tissue of the user. The proximalconnector 17, the actuator 12, and the knee joint level 11 can form athigh segment of the prosthesis 10.

A shank segment of the prosthesis 10 can include a shank structure 13,such as a tibial member extending downward from the proximal connectorthat is rotatable via the actuator 12 relative to the proximal connector17. In this example, the actuator 12 may be, for example, a DC brushlessmotor serially connected to a reduction mechanism. The reductionmechanism of the actuator 12 allows the conversion of the motorhigh-speed low torque output characteristics into a low-speedhigh-torque output that is more coherent with the requirementsassociated with the human knee joint role in most commonly encounteredlocomotor tasks. A second transmission stage is then provided in orderto connect the reduction mechanism output to the shank structure 13 ofthe motorized knee prosthesis 10. This second transmission stage iscomposed of a compliant linkage 14, allowing both measurement of the nettorque present at the interface between the shank structure 13 and theactuator 12 output and high-efficiency level walking stance flexionenergy storage and return.

The motorized knee prosthesis 10 also includes sensors to sustain themulti-layered controller 105 (see FIG. 1A). The sensors can be inertialmeasurement units (IMUS) and can include accelerometers, gyroscopes,kinematic sensors, torque sensors, and the like. A first sensor (notshown) can be included in the transmission assembly of the actuator 12such that the relative position between the user thigh segment and thereduction mechanism output can be measured in real-time. Net torquepresent at the interface between the shank structure 13 and the actuator12 output can be measured through the deflection of the compliantlinkage 14 transmitting motion between both parts 12 and 13, using asecond sensor (not shown) mounted in the transmission assembly of theactuator 12 for that purpose. A load cell assembly 19 containing one ortwo load cells 16 can be located at the distal shank portion 15 betweenthe shank structure 13 and the distal connector 18 of the motorized kneeprosthesis 10 to quantify the load found in the distal shank portion 15.The distal connector 18 is configured to connect to a prosthetic ankleor foot (not shown). The sensors can be located in any number oflocations and fewer or additional sensors can be used. For example, theprosthesis 10 can include only one sensor located in either the thighsegment or the shank segment. Furthermore, the sensors can be located inany number of different locations on the thigh segment or the shanksegment. In an embodiment, one sensor is located on the thigh segmentand another sensor is located on the shank segment. In an embodiment,the sensors are located on a distal portion of the segments so as to becloser to the ground when the user is in a stance position.

It is to be understood that although the motorized knee prosthesis 10described above has been given as an example of the motorized prostheticor orthotic apparatus 140, the multi-layered controller 105 may besimilarly used with other motorized prostheses or orthoses havinggeneral characteristics similar to that of the motorized knee prosthesis10. More specifically, the multi-layered controller 105 may be similarlyused with a POD 100 having sensors for measuring the net torque of itsactuator output, sensors for detecting ground contact and sensors formeasuring the position of the actuator.

Inference Layer

As previously discussed, the inference layer 120 in the POD controlsystem architecture 105 can be used for a variety of purposes,including, but not limited to, analyzing the data stream provided by themeasurement units and generating a high-level representation of measuredphysical quantities so that the inference layer 120 can infer whichactivity the user is currently performing and detect inter-activitytransitions, define the behavior of the reactive layer 130 by modifyingthe parameters of the control algorithm in response to the detected gaitactivity, and monitor system performance and trigger the learning layer110, so that the learning layer 110 can analyze system performance andpropose changes to the data and rule sets of the inference layer 120.

In certain embodiments, the main responsibility of the inference layer120 control system from the viewpoint of the overall system is to inferthe nature of the activity the user is currently performing, as well asto detect the occurrence of a possible transition to another activity.In certain implementations, the locomotion activities of the inferencelayer control system 120 can be divided into types, including, but notlimited to, fumbling around (FA), forward progression (FP), dissipation(DIS), and generation (GEN).

The FA type of activity can correspond to any non-locomotor ambulationbeing performed by the user. The FA activity can be thought of as ageneral umbrella term covering movements associated with standing-up,lateral ambulation, backward ambulation, or any other motion that cannotbe clearly identified through the presence of strong forward-orientedbody dynamics. The FA activity can also represent the default systemstate, as this can provide a neutral behavioral state which favorssafety over high performance dynamics.

The FP activity can correspond to locomotor ambulation where strongforward dynamics can be found, and can be associated with a levelwalking gait. Within this context, use of a separate activity type forlocomotor and non-locomotor gaits can allow the control system toindependently manage these activities, since these two types ofactivities can be significantly different in nature compared to othergait activities.

The DIS activity type can be used for ambulation where the POD actuatorremoves energy from the system in a controlled manner. During the DISactivity, the lower-limb prosthesis can slowly flex against an externalforce (typically the user's body weight). This can be used to controlthe velocity of the user's body weight during stair and steep inclinedplane descent.

The GEN activity type can be used for ambulation where the POD 100injects mechanical power to move the user's body weight, such thatoverall progression of movement can be sustained. This can be used topush an active user up stairs or steep inclined planes.

Along with the general types of locomotion activity described above,additional specialized forward progression modes and specializedfumbling around mode can be defined. The specialized forward progressionmodes can include, but are not limited to, downwards walking (DW) andupwards walking (UW). The specialized fumbling around modes can include,but are not limited to, sitting down and (SIT) and sit-to-stand (STS)mode.

This DW mode can fulfill specific gait requirements associated with arange of downward inclined planes. In some instances, the FP mode maynot allow proper control of gait cadence and the DIS mode may not allowproperly sustained forward progression because the knee may become toodissipative. Within that context, the DW mode can be seen as anintermediate level between level walking and stairs descent.Accordingly, the POD behavior can be adapted to reorient the directionof the user's progression to match the incline of the surface or ground.

The UW mode can fulfill specific gait requirements associated with therange of various upward inclined planes. In some instances, the FP modemay not allow proper weight transfer over the prosthetic limb and theGEN mode may not allow properly sustained overall progression. Withinthat context, the UW mode can act as an intermediate level between levelwalking and stairs ascent. Accordingly, the POD behavior can be adaptedto reorient the direction of the user's progression to match the inclineof the surface or ground.

The STS mode can be associated with specialized behavior forsit-to-stand and stand-to-sit transfers. While this FA mode is primarilydevoted to the management of these non-locomotor movements, it can alsobe used for other tasks showing similar requirements, such as kneeling,squatting, or other similar activities.

The SIT mode can be associated with specialized behavior for properprosthetic and/or orthotic device operation while the user is seated.Although this feature is primarily used to sustain the specificnon-locomotor task of sitting, features associated with this FA mode canalso be used in other contexts, such as kneeling for a prolonged periodof time or other similar activities.

Each of these locomotion activities can be characterized by a set ofparameters stored in a parameters database, discussed in greater detailbelow with reference to FIG. 4, and can be used to configure thereactive layer control engine reactive layer 130 so that the POD'sbehavior can be configured to support the task being performed by thePOD's user.

FIG. 2 is a block diagram illustrating various components associatedwith the inference layer control system 120. As illustrated, theinference layer 120 includes a detection module 202, a performanceassessment module 204, and an activity definition module 206. Thedetection module 202 receives a data stream from sensors, processes thedata, and then transmits relevant data to the performance assessmentmodule 204 and/or the activity definition module 206. The performanceassessment module can also transmit information to the activitydefinition module 206. The activity definition module 206 transmitsrelevant updates to the reactive layer 130.

The detection module 202 can process the sensor data stream for theinference layer control system 120 in order to extract features ofinterest, which can then be used to identify the locomotion activity theuser is currently performing. The detection module 202 can use one ormore estimators to generate a number of different estimator messages,which can be transmitted to the activity detection module 206 forprocessing. Additional details with respect to the detection module 202will be described below with reference to FIG. 3.

The performance assessment module 204 can be configured to evaluatesystem performance based on actual parameters specific performancemodels. The parameters can be found in the parameter database orreceived from the detection module 202. The performance assessmentoutcome can be fed to the learning layer 110 of the POD control system105, which can provide parameter updates to the inference layer'sparameter database. By providing parameter updates to the database, thelearning layer 110 can improve system performance in compliance with thespecific needs of the user of the POD 100.

The activity definition module 206 can use information received from thedetection module 202 and the performance assessment module 204 to inferan appropriate course of action to take using an arbitration mechanism.The various actions associated with the arbitration mechanism caninclude, but are not limited to, switching to a new activity, adopting afallback behavior to ensure user safety, maintaining the currentactivity, or other suitable activities. Additional details with respectto the activity definition module 206 will be described below withreference to FIG. 4.

In certain embodiments, the inference layer control system 120 processesthe sensor data stream using the detection module 202 to extractfeatures of interest, which can then be used to identify the locomotionactivity the user is currently performing. FIG. 3 is a block diagramillustrating an embodiment of the detection module 202. The detectionmodule 202 includes various estimators 302-316, which are used toprocess the raw data stream. Based on the output of the variousestimators 302-316, the detection module 202 generates estimatormessages for the activity detection module of FIG. 4.

As illustrated in FIG. 3, the detection module 202 can include a cadenceestimator 302, a vertical displacement estimator 304, a horizontaldisplacement estimator 306, an absolute thigh angle estimator 308, anabsolute shank angle estimator 310, a relative thigh angle estimator312, a knee torque estimator 314, and the like. Each estimator can beused to estimate different attributes of the POD 100 and POD user duringuse. For example, the cadence estimator 302 can estimate the currentcadence of the POD user by measuring the duration of swing phase andstance phase between events, such as foot strikes. The verticaldisplacement estimator 304 can estimate the vertical displacement of thethigh segment, shank segment, upper or lower segment, POD, foot, heeland/or toe using the sensor data. The horizontal displacement estimator306 can estimate the horizontal displacement of the thigh segment, shanksegment, upper or lower segment, POD, foot, heel and/or toe using thesensor data. The absolute thigh angle estimator 308 can estimate theabsolute thigh angle of the POD user based on the sensor data. Theabsolute shank angle estimator 310 can estimate the absolute shank angleof the shank based on data received from the IMUS. The relative thighangle estimator 312 can estimate the relative thigh angle based on thesensor data. The knee torque estimator 314 can estimate the knee torquethroughout the gait cycle using a torque sensor. Additional estimatorscan be used in accordance with the targeted prosthetic device or thedesired type and extent of locomotion activities to be supported. Inaddition, estimators can be selected that are closely related to thebasic components of the locomotion activities. Furthermore, in certainembodiments, a parallel estimation structure may be preferable overother types of approaches, as it can provide a comprehensive data set tothe activity detection module 206 each time the estimators are used.While the reactive layer 130 can make use of sensor data in its most rawform without performing any transformations on it, the inference layerdetection module 202 can take the raw data stream and process it suchthat higher level information can be extracted from it.

In an embodiment, the data can be supplied by an inertial navigationengine (INE). The INE can merge raw signals issued from inertialmeasurement units (IMUS) to generate a high-level representation ofphysical phenomena affecting the lower-limb POD 100. These measurementscan include changes in both sagittal plane absolute and relativesegments angles, as well as the relative displacement of the POD 100during consecutive foot strikes on a walking surface. As such, incertain embodiments, an INE can be used to implement the inference layercontrol system 120 of the POD 100. It should be noted, however, that theinference layer control system 120 need not rely on an INE, but rathercan directly rely on inertial sensor data streams.

Additionally, estimators 302-316 used in the operation of a PODinference layer detection module 202 can be more simple than an INE.Simple estimators can also be useful and relevant in the execution ofcomplex decision processes performed by, other mechanisms, such as thearbitration mechanism discussed in greater detail below with referenceto FIG. 4.

In certain embodiments, the estimators 302-316 continuously process dataissued from sensors located in the system while looking for specificphysical phenomena. These physical phenomena can take various formsdepending on the nature of the physical representation generated by theestimator. In some embodiments, simple estimators can recognize physicalphenomena via an actual value comparison against a fixed thresholdvalue, while in other embodiments more complex estimators can recognizephysical phenomena via model-based assessment of the data, such as theuser's center-of-mass positioning, etc. Tracking the physical phenomenausing a parallel estimator engine can allow the detection module to wakeup the activity definition module 206 whenever an estimator encountersdata requiring further assessment. In this way, the activity definitionmodule 206 can be activated only when relevant information is available,thus using less processing power and increasing efficiency.

As mentioned above, the INE can act as the core engine sustaining themajority of the estimators in the detection module 202. The INE can runin the background, while providing the estimator processes with data toperform basic tasks. The INE can provide a number of estimations anddata used in the inference layer control system 120, including, but notlimited to, the estimation of the sagittal plane relative verticaldisplacement of the prosthetic limb between consecutive foot strikes,the estimation of the sagittal plane absolute segment angles, theestimation of the sagittal plane relative segment angles (i.e., anglesswept by a given segment between two gait events that is known topresent a significant measure of a given gait characteristic), theestimation of the sagittal plane relative horizontal displacement of theprosthetic limb between consecutive foot strikes, and the averageoutputs of the IMUS.

In addition, the INE can estimate, in real-time, the relative verticaland horizontal displacements associated with consecutive foot strikes ofthe POD 100 based on forward kinematics of the lower-limb segments bymeasuring the lower-limb kinematic configuration at foot-off (e.g., whenthe POD or a foot member coupled with the POD ends contact with theground and begins the swing phase) and subsequent foot-strike events(e.g., when the POD or a foot member coupled with the POD makes contactwith the ground and begins the stance phase), and then computing theresulting difference in vertical and horizontal distance due to thevariation in segments angles. For example, the angle of the POD orindividual segments at foot-off can be compared with the angle of thePOD or individual segments at a subsequent foot strike. The differencebetween the two angles can be used to determine the relative verticaland horizontal distance. The INE can also merge or combine outputs ofthe shank, thigh, and forward kinematics navigation solution together tominimize the uncertainty of the relative vertical displacement estimatesand improve their accuracy by averaging their respective outputs,weighting those averages, and then using a heuristic decision-makingprocess to establish the most relevant estimate and determine how toapply the weighting.

As an example, and not to be construed as limiting, upon receiving thesensor data the estimators can determine whether the data falls within apredefined range of acceptable values. For example, the horizontaldisplacement estimator 306 may have an acceptable range of 0-4 ft. Ifthe horizontal displacement estimator 306 receives data indicating ahorizontal displacement of >4 ft, the sensor data can be rejected. Oncethe individual sensor data is verified, the estimators can compared thedata received from multiple sensors (when multiple sensors are used).The estimator may have another predefined threshold for measureddifferences between the sets of sensor data. If the difference is largerthan the predefined threshold, the sets of sensor data may be discardedby the estimator. For example, if one set of sensor data indicates ahorizontal displacement of 4 ft., and another set of sensor dataindicates a horizontal displacement of 1 ft., the horizontaldisplacement estimator 306 can discard the two sets of data. Once thesets of data are individually verified and verified together, theestimator can merge the sets of data. In an embodiment, the estimatormerges the data by averaging the data. However, the data can be mergedusing alternative methods, such as selecting the set of data that has ahigh confidence level, etc. Alternatively, the activity definitionmodule 206, described above, can verify the data.

The different estimations can be used by the inference layer controlsystem 120 to determine a locomotion activity of the user. Theestimation of the sagittal plane relative vertical displacement of theprosthetic limb between consecutive foot strikes can be used todiscriminate whether the POD 100 is operating on a level surface (e.g.,walking, standing, or fumbling around), a surface showing a positiveslope (e.g., stairs or upwards ramp ascent), or a surface showing anegative slope (e.g., stairs or ramp descent). The estimation of thesagittal plane absolute segment angles (i.e., with respect to thegravity vector) can be used to evaluate the user's upper body position(e.g., center-of-mass) with respect to the prosthetic limb. The sagittalplane absolute segment angles estimate can be used to assess the user'sforward progression and/or loss of equilibrium. The estimation of thesagittal plane relative segment angles (i.e., angles swept by a givensegment between two gait events that is known to present a significantmeasure of a given gait characteristic) can be used to optimize thegeneral synchronization between the prosthetic and sound limb segmentsand joints. The estimation of the sagittal plane relative horizontaldisplacement of the prosthetic limb between consecutive foot strikes canbe used to quantify the distance covered by the user's upper body duringthat period of time. This sagittal plane relative horizontaldisplacement data can be analyzed in combination with the relativevertical displacement to estimate the relative slope of the terrain onwhich the user is operating the device.

In certain embodiments, such angles and displacements can be estimatedin real-time by selecting appropriate prosthetic device embedded sensorsand coupling them with appropriate algorithms and signal processing. Forexample, the MicroStrain 3DM-DH (MicroStrain Inc., 459 Hurricane Lane,Suite 102, Williston, Vt., 05495, U.S.A.) is an Inertial MeasurementUnit (IMU) that can be used to estimate the outputs listed above. TheMicroStrain 3DM-DH device can be configured to provide accelerometeroutputs, such as the linear acceleration measured along the threeorthogonal axes associated with the body on which the accelerometers aremounted. In addition, the MicroStrain 3DM-DH device can be configured toprovide processed pitch, roll, and yaw angle outputs up to a frequencyof 45 Hz.

By connecting an IMU device to both the prosthetic lower-limb shanksegment and thigh segment, absolute segment angles can be estimated inreal-time. Similarly, tracking the provided absolute angle streams canassist in the measurement of relative angles (e.g., swept angles), sincegait event recognition can be easily implemented in the softwarealgorithm used to retrieve data from the IMUS.

In certain embodiments, the relative vertical displacement of theprosthetic limb can be estimated based on the absolute angles alone, acombination of the accelerometer signals and absolute angle signals, ora combination of accelerometer signals and segment angular velocitiesextracted from the absolute angle signals. The appropriate method ofestimation can be selected based on the nature of the locomotionactivities the control system and/or prosthetic device sustains. Inother embodiments, the segment angular velocities can be directlymeasured using a specific sensor (e.g., an ADXRS-610 rate gyroscope fromAnalog Devices Inc., 3 Technology Way, Norwood, Mass., 02602, U.S.A.).However, different IMUS may require different hardware configurations.

In certain embodiments, absolute segment angles can be used to estimatethe relative vertical or horizontal displacement based on the assumptionthat actual user center-of-mass displacement during the prosthetic limbswing phase can be insignificant with respect to the relative prostheticlimb displacement being estimated. In that context, estimation of therelative horizontal and vertical displacement from the last prostheticlimb foot-off event to the subsequent foot strike can be based on theprosthetic lower limb kinematics. In addition, in this embodiment,relative horizontal and vertical displacement from the last prostheticlimb foot-off event to the subsequent foot strike can be estimatedwithout integrating the time-based signals because it only considers theresulting difference between two different lower-limb kinematicconfigurations. Alternative methodologies described below can also beused.

In certain embodiments, the combination of the accelerometer signals andthe actual segment absolute angles can be used to track relativevertical and horizontal motion of the lower-limb through doubleintegration of time-based acceleration signals. Thus, for each timeperiod during which accelerations are measured in the segment localcoordinate systems, an associated incremental vertical and horizontaldisplacement can be computed by projecting the incremental displacementonto the vertical-horizontal reference system using the absolute anglevalue associated with each lower-limb segment. Summing all theincremental displacements in between the foot-off and foot-strike eventsenables computation of the associated relative displacement in thevertical-horizontal coordinate system (i.e., the sagittal plane). Inthis way, the inference layer 120 can account for the movement of theuser's center-of-mass, and the accelerations associated with thismovement can be recorded by the accelerometers and accounted for in therelative displacement estimates.

Similarly, in certain other embodiments, relative vertical andhorizontal displacements can be estimated based on acceleration levelsmeasured in the segment local coordinate system summed up over specificperiods of the gait cycle. Under this methodology, calibration of anembedded absolute segment angles tracking process can be accomplished byusing the absolute angles feedback from specific instants of the gaitcycle. This tracking process can be based on periodical calibration ofthe segments actual absolute angles and dead reckoning, which can bedone through integration of the time-based angular velocity signal. Thevelocity signal can be extracted either from the absolute angle signalsor through the addition of a separate angular rate sensor to thehardware previously described.

In certain other embodiments, a forward kinematics estimation of theabove mentioned displacements can be carried out in parallel with theprosthetic shank and thigh relative displacement estimation processes tominimize the impact and improve the performance of the doubleintegration of the acceleration signals over time and the forwardkinematics estimation. The outputs of both can be merged to reduce theestimated displacement noise level and uncertainty.

Information issued from the detection module 202 can be sent to theactivity definition module 206 in the form of event-based messages. Theevent-base message can be issued whenever a detection module estimatordetects the occurrence of a physical phenomenon that is of interest fromthe viewpoint of the control system. Upon detecting such a phenomenon,the detection module 202 can generate messages containing the output ofall estimators and transfer the messages to the activity definitionmodule 206, which can process the messages.

FIG. 4 is a block diagram illustrating an embodiment of the activitydefinition module 206. As illustrated, the activity definition module206 can include one or more locomotion activity detectors 402-416operating in parallel, an arbitration mechanism 418, a parametersmanager 420, and a parameters database 422. The detectors 402-416 caninclude, but are not limited to, a forward progression (FP) detector402, a dissipation (DIS) detector 404, a generation (GEN) detector 406,fumbling around (FA) detector 408, a downwards walking (DW) detector410, an upwards walking (UW) detector 412, a sit-to-stand transfer (STS)detector 414, a sit (SIT) detector 416, and the like. Each detector canuse the data from one or more of the estimators to detect an activity.For example, the FP detector can use data from one or more of thecadence estimator 302, the horizontal displacement estimator 306, theabsolute an relative thigh angle estimators 308, 312, and the absoluteshank angle estimator 310, and a relative shank angle estimator todetermine whether the POD is moving forward.

In an embodiment, the FP detector 402 uses data from the cadenceestimator 302, the vertical displacement estimator 304, and/or thehorizontal displacement estimator 306 to detect forward progression. Inanother embodiment, the FP detector 402 uses the data from the relativethigh angle estimator 312 and/or a relative shank angle estimator todetect forward progression.

In an embodiment, the DIS detector 404, GEN detector 406, DW detector410 and UW detector 412 use data from the relative thigh angle estimator312 and/or a relative shank angle estimator to detect a dissipationactivity, a generation activity, a downward activity and/or an upwardactivity. Each detector may use a different threshold to identify therespective activity. For example, a positive and large relative verticaldisplacement may indicate an upward activity, such as stair ascent,while a smaller positive relative vertical displacement may indicate ageneration activity. Similarly, a smaller negative relative verticaldisplacement may indicate a dissipation activity and a larger negativerelative vertical displacement may indicate a downward activity, such asstair descent.

In another embodiment, the DIS detector 404 and GEN detector 406 usedata from the vertical displacement estimator 304, and/or the horizontaldisplacement estimator 306 to detect a dissipation activity and ageneration activity. In another embodiment, the DW detector uses thedata from the knee torque estimator 314 to identify a downward activity.In yet another embodiment, the UW detector 412 uses the data from theabsolute thigh angle estimator 308 to identify an upward activity. TheSTS detector 414 can use the knee torque estimator 314 to identify ansit-to-stand activity, and the SIT detector 416 can use the the absolutethigh angle estimator 308 to identify a sitting activity. It will beunderstood that the various detectors can use any number, orcombination, of the estimators to identify the various activities.

The output of the detectors 402-416 is sent to an arbitration mechanism418, which can evaluate the outputs of the detectors 402-416 to identifya current activity and determine an appropriate course of action. Thearbitration mechanism 418 can make the determination at everyfoot-strike. In such an embodiment, an identified current activity maybe valid for only one step time frame. Furthermore, activity transitionscan made be independent of the proper detection of exit conditions. Thearbitration mechanism 418 can take various forms, depending on theparticular embodiment selected and the specific requirements of the POD100. Examples of certain embodiments of the arbitration mechanism 418include, but are not limited to, a state-machine, a heuristic model orrule-base, a fuzzy rule set, a rule-based transition table, aprobabilistic inference engine, and the like.

As mentioned, the arbitration mechanism can identify differentactivities and determine if a transition from one activity to another iswarranted. Thus, actions associated with the arbitration mechanism 418can include, but are not limited to, switching to a new activity,adopting a fallback behavior to ensure user safety, maintaining thecurrent activity or other suitable activities, and the like

In addition, the detectors 402-416 can repeatedly detect differentactivities and modes without regards to the feasibility of thetransition to the given activity to ensure robust activity detection.Accordingly, in certain embodiments, the arbitration mechanism 418detects and evaluates both possible and non-possible transitions eachtime the activity definition module 206 is called. Thus, in certainembodiments, no a priori assumptions are made when evaluating theactivity detectors 402-416, allowing for the testing of possiblebranching. The arbitration mechanism 418 can account for the quality andreliability of detector output, as well as enforce the various rulesassociated with feasible and allowed activity transitions, as discussedin greater detail below with reference to FIG. 5.

In certain embodiments, the arbitration mechanism 418 can take intoaccount user safety when deciding whether to allow an inter-activitytransition to occur. To ensure user safety, the arbitration mechanism418 can override certain transitions even though it has determined thatthe transition is occurring with certainty if it deems the transitiontoo dangerous. For example, assume that the INE estimates the relativevertical displacement between consecutive steps to be slightly below theminimum requirement to maintain the POD in stairs descent activity.Though this would normally cause the system to transition back toFumbling Around mode, which can be quite dangerous to the user who mayvault over a stiffened lower-limb POD 100, the arbitration mechanism canoverride the fumbling around transition with a forward progressiontransition, from which the downwards walking mode is accessible in casethe user's activity so requires.

Following the inference results of the arbitration mechanism 418, adecision regarding current locomotion activity can be identified andprovided to the parameters manager 420. The parameters manager 420 canretrieve a parameter set corresponding to the current locomotionactivity from the parameters database 422. The parameters manager 420can also provide the parameter set to the reactive layer 130 in order toupdate the reactive layer 130 with data regarding the new activity. Forexample, the parameter set can include position set points, controllergains, velocity set points, conditions for transitioning from one stateto another, etc. The reactive layer 130 can use the parameter set tomodify the POD's behavior accordingly. Additional details regarding thetransitions between activities and modes will be described in greaterdetail below with reference to FIG. 5.

In some embodiments, the reactive layer's behavior can be modifiedwhenever a new parameter set is passed to the reactive layer 130 fromthe parameters manager 420 of inference layer 120. For example, thereactive layer can have two states during one locomotion activity, suchas a standing activity, and then transition to three or more states fora different locomotion activity, such as forward progression, downward,upward, etc., based on the parameter set received from the inferencelayer 120. The parameters manager 420 can also manage the transitionbetween each locomotion activity so as to avoid disrupting deviceoperation, since such disruptions can affect overall user safety.

In addition, the reactive layer control system 130 described in greaterdetail in U.S. Publication No. 2011/0125290 A1 and International PatentApplication No. PCT/CA2008/000110, the disclosures of which areincorporated herein in its entirety, can further include a parametersmanager similar to the parameters manager 420 of FIG. 4. The parametersmanager 420 or the parameters manager of the reactive layer can beconfigured to ensure smooth system transitions from one parameter set tothe next. Managing the parameters can reduce the jerkiness or unexpecteddevice motions due to changes in the motion control system structureand/or gains. For example, when transitioning between locomotionactivities showing significantly different knee behavior (e.g.,transitioning from standing to stairs ascent), knee joint impedance canundergo significant changes, and the device may generate mechanicalpower to lift the user's mass over the POD shank section. The parametersmanager 420 can monitor the transition to reduce the risk of the kneepushing the user back instead of properly lifting the user.

Certain embodiments of a parameters manager can use linear interpolationto change the critical reactive layer parameters from the previousvalues to the targeted new values.

Transition Management

As mentioned above, one role of the inference layer control system 120is to identify a current locomotion activity of a POD's user and makeappropriate updates. The activity definition module 206 can implementthe inference processes that can distinguish between differentactivities and determine when to update the current system activity.While distinguishing between different activities and determining whento update the current system activity can be divided amongst theactivity estimators 302-316 and arbitration mechanism 418, the detectionof the specialized forward progression modes and/or fumbling aroundmodes can be accomplished using the parallel activity detectors 402-416.

The embodiments described herein are directed towards the control of aPOD 100 that can be used for locomotion activities commonly encounteredduring typical daily living activities. Accordingly the general activitydetection strategy accounts for previously identified locomotionactivities. More specifically, the embodiments described herein are ableto detect activities associated with non-locomotor gait tasks,generative gait tasks, dissipative gait tasks, and forward progressiongait tasks. In certain embodiments, the general activity detectionscheme leading to the specific implementation of the parallel activitydetectors can be summarized as follows, with reference to FIG. 5.

FIG. 5 is a block diagram illustrative of an embodiment of the differentlocomotion activities and modes and transitions between the activities,the FA modes and the FP modes. The various activities and modes include,but are not limited to, fumbling around (FA) 502, forward progression(FP) 504, generation (GEN) 506, dissipation (DIS) 508, upwards walking(UW) 510, downwards walking (DW) 512, sit-to-stand transfer (STS) 514and sit (SIT) 516.

In an embodiment, the default state is the FA mode 502. Thus, unlessmore information is provided to the control system, the POD 100 operatesunder the general fumbling around low-level control strategy. Whileoperating in the FA mode 502, the detection module can process data todetect activity transition to forward progression 504, generation 506,dissipation 508, or STS transfer 514, as illustrated in FIG. 5.

In an embodiment, the inference layer control system 120 transitions to,or detects, forward progression 504 when the user's center-of-mass movesthe user's or a prosthetic limb's foot to within a certain threshold,coupled with detection of sufficient transition dynamics. The transitiondynamics may include a predefined absolute thigh segment angle, a hipextension level (which may be measured using the thigh segment angle),an absolute thigh segment angle, and/or an acceleration of the thighsegment.

In an embodiment, the inference layer control system 120 transitions to,or detects, a generation 506 or dissipation 508 activity when therelative vertical displacement of the POD between consecutive footstrikes is larger than a pre-defined threshold. The relative verticaldisplacement of the POD can be based on the vertical displacementmeasured by a sensor, or a combination of sensors. For example, anaverage of the vertical displacement of multiple sensors can be used.This threshold can be based on the typical stair riser's height and theaccuracy of the relative vertical displacement estimate. Alternatively,or in addition, the threshold can be based on the user's gait style,personal preferences, and/or the actual gait task being performed. Forthe generation activity 506, the relative vertical displacement may begreater than a pre-defined threshold, indicating an incline. For thedissipation activity 508, the relative vertical displacement may be lessthan a pre-defined threshold, indicating a decline.

In an embodiment, the inference layer control system 120 transitions to,or detects, upwards walking 510 or downwards walking 512 when the systemis already operating in forward progression mode 504, generation mode506, or dissipation mode 508. Detection of the downwards walking mode512 can be triggered when the amplitude of the knee flexion torque ishigher than a threshold value. The threshold value can be based onlevels typically seen during the non-downwards walking forwardprogression mode. In this regard, the transition can be independent ofthe inertial navigation solution, which can provide an effectivefallback mode that increases user safety even when the system isundergoing a temporary or permanent failure. Detection of the upwardswalking mode 510 can be triggered when the amplitude of hip flexionduring foot strikes rises above a pre-defined threshold. The amplitudeof the hip flexion can be determined based on an absolute angle of thethigh segment. Detection of the upwards walking mode 510 and thedownwards walking mode 512 can also be based on the ground slope, thevertical displacement of the POD, etc.

Transition to, or detection of, a sit-to-stand mode 514 can be triggeredwhen the system is operating in fumbling around mode 502. Thesit-to-stand mode 514 can be used to appropriately manage transitionsbetween the fumbling around 502 and SIT mode 516. This can allow thesystem to manage dissipative or generative tasks associated with thelower-limbs when the user is sitting-down or standing-up. In anembodiment, dissipative sit-to-stand mode 514 is detected when the useris operating in the fumbling around mode 502 and the amplitude of theknee flexion torque rises above an adjustable threshold. A generativesit-to-stand mode 514 can be detected when sufficient hip extensiondynamics are measured while the system is operating in the SIT mode 516.The detection of the SIT mode 516 or transfer to/from the dissipativesit-to-stand mode 514 can occur whenever the lower-limb POD 100 reachesa stable state, where the knee is flexed and the load is removed fromthe prosthetic device. For example, if the hip is flexed at or aboveninety degrees when in swing phase the SIT mode 516 can be detected.

Systems and modules described herein may comprise, or may be embedded ina processing device, such as, software, firmware, hardware, or anycombination(s) of software, firmware, or hardware suitable for thepurposes described herein. In certain embodiments, software and othermodules may reside on servers, workstations, personal computers,computerized tablets, PDAs, and/or an embedded computing device, such asembedded firmware (i.e., EPROM or EEPROM). In certain other embodiments,software and other modules may be accessible via local memory, anetwork, a browser, or other means suitable for the purposes describedherein. In certain further embodiments, data structures or indexesdescribed herein may comprise computer files, variables, programmingarrays, programming structures, or any electronic information storageschemes or methods, or any combinations thereof, suitable for thepurposes described herein.

Various embodiments are described herein with reference to flowchartillustrations and/or block diagrams of methods, apparatuses (systems),and computer program products. It will be understood that blocks of theflowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, may beimplemented by computer program instructions. The blocks or states ofthe processes or methods described herein may be embodied directly inhardware, in a software module executed by a processor, embedded infirmware, or any combination thereof. In certain embodiments, thecomputer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the acts specified in the flowchart and/or block diagramblock or blocks. In certain embodiments, the processor may be located atleast partially on, in, or remote to the POD 100 including the inferencelayer control system 120.

In certain other embodiments, these computer program instructions may bestored in a computer-readable memory, including computer-readablemediums integral to the processor, that can direct a computer or otherprogrammable data processing apparatus to operate in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the acts specified in the flowchart and/or block diagramblock or blocks. In certain further embodiments, the computer programinstructions may also be loaded onto a computer or other programmabledata processing apparatus to cause a series of operations to beperformed on the computer or other programmable apparatus to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide means forimplementing the acts specified in the flowchart and/or block diagramblock or blocks. Moreover, readings from various measurement units andestimates from estimators can be downloaded or wirelessly transmitted toa remote computing device for further analysis of the user's gait.

Depending on the embodiment, certain acts, events, or functions of anyof the processes or algorithms described herein can be performed in adifferent sequence, may be added, merged, or left out all together.Thus, in certain embodiments, not all described acts or events arenecessary for the practice of the processes. Moreover, in certainembodiments, acts or events may be performed concurrently, e.g., throughmulti-threaded processing, interrupt processing, or via multipleprocessors or processor cores, rather than sequentially.

Conditional language used herein, such as, among others, “can,” “could,”“might,” “may,” “e.g.,” “i.e.,” and the like, unless specifically statedotherwise, or otherwise understood within the context as used, isgenerally intended to convey that certain embodiments include, whileother embodiments do not include, certain features, elements and/orstates. Thus, such conditional language is not generally intended toimply that features, elements, and/or states are in any way required forone or more embodiments or that one or more embodiments necessarilyinclude logic for deciding, with or without author input or prompting,whether these features, elements, and/or states are included or are tobe performed in any particular embodiment.

Conjunctive language such as the phrase “at least one of X, Y and Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to convey that an item, term, etc. may beeither X, Y or Z. Thus, such conjunctive language is not generallyintended to imply that certain embodiments require at least one of X, atleast one of Y and at least one of Z to each be present.

While the detailed description herein will show, describe, and point outvarious features as applied to various embodiments, it may be understoodthat various omissions, substitutions, and changes in the form anddetails of the logical blocks, modules, and processes illustrated may bemade without departing from the spirit of the disclosure. As may berecognized, certain embodiments of the systems described herein may beembodied within a form that does not provide all of the features andbenefits set forth herein, as some features may be used or practicedseparately from others.

It should be emphasized that many variations and modifications may bemade to the above-described embodiments, the elements of which are to beunderstood as being among other acceptable examples. All suchmodifications and variations are intended to be included herein withinthe scope of this disclosure and protected by the following claims.

1. (canceled)
 2. A control system, for controlling a lower limb prosthesis having a shank segment and a motorized knee at a knee joint that is configured to attach to a thigh of a trans-femoral amputee, the control system comprising: a first sensor comprising a single inertial measurement unit (IMU) configured to be located on the shank segment of the lower limb prosthesis and configured to collect a first set of data related to locomotion of the shank segment; a second sensor configured to be located on the lower limb prosthesis and configured to collect a second set of data related to an angle of the shank segment at the knee joint; and a processor configured to be in communication with the first and second sensors, wherein the processor is configured to: receive the first set of data and the second set of data; determine a kinematics of the thigh based on the first set of data and the second set of data, the kinematics of the thigh comprising a vertical displacement of the thigh, a horizontal displacement of the thigh, or an absolute angle of the thigh with respect to gravity; identify a current locomotion activity of the amputee based on the kinematics of the thigh; and control the motorized knee based on the current locomotion activity.
 3. The control system of claim 2, wherein the IMU comprises an accelerometer or a gyroscope.
 4. The control system of claim 2, wherein the current locomotion activity comprises: fumbling around (FA), generation (GEN), dissipation (DIS), standing-to-sitting (STS1), sitting-to-standing (STS2), or sitting (SIT).
 5. The control system of claim 2, wherein the processor is further configured to estimate, based at least in part on one or more of the first set of data and the second set of data, the sagittal plane relative angle between the thigh segment and the shank segment with respect to two or more gait events that are indicative of a given gait characteristic.
 6. The control system of claim 2, further comprising an inference layer configured to transmit information regarding the current locomotion activity to a reactive layer configured to command and control movement of the lower limb prosthesis about the knee joint.
 7. The control system of claim 2, wherein the thigh is a prosthetic thigh segment, and the motorized knee is configured to attach to the prosthetic thigh segment.
 8. The control system of claim 2, wherein the thigh segment is the amputee's natural thigh segment, and the motorized knee comprises a proximal connector configured to attach to the natural thigh segment via a socket.
 9. A lower limb prosthesis, comprising: a shank segment; a motorized knee connected to the shank segment at a knee joint; a proximal connector attached to the motorized knee and configured to attach the motorized knee to a thigh of a trans-femoral amputee; and a control system comprising: a first sensor comprising a single inertial measurement unit (IMU) located on the shank segment of the lower limb prosthesis and configured to collect a first set of data related to locomotion of the shank segment; a second sensor located on the lower limb prosthesis and configured to collect a second set of data related to an angle of the shank segment at the knee joint; and a processor in communication with the first and second sensors, wherein the processor is configured to: receive the first set of data and the second set of data; determine a kinematics of the thigh based on the first set of data and the second set of data, the kinematics of the thigh comprising a vertical displacement of the thigh, a horizontal displacement of the thigh, or an absolute angle of the thigh with respect to gravity; identify a current locomotion activity of the amputee based on the kinematics of the thigh; and control the motorized knee based on the current locomotion activity.
 10. The control system of claim 12, wherein the IMU comprises an accelerometer or a gyroscope.
 11. The control system of claim 12, wherein the processor is further configured to estimate, based at least in part on one or more of the first set of data and the second set of data, the sagittal plane relative angle between the thigh segment and the shank segment with respect to two or more gait events that are indicative of a given gait characteristic.
 12. The control system of claim 12, wherein the current locomotion activity comprises: fumbling around (FA), generation (GEN), dissipation (DIS), standing-to-sitting (STS1), sitting-to-standing (STS2), or sitting (SIT).
 13. The control system of claim 12, wherein the control system further comprises an inference layer configured to transmit information regarding the current locomotion activity to a reactive layer configured to command and control movement of the lower limb prosthesis about the knee joint.
 14. The control system of claim 12, wherein identifying the current locomotion activity of the amputee is further based on a torque associated with the thigh.
 15. The control system of claim 12, wherein the thigh is the amputee's natural thigh, and the motorized knee comprises a proximal connector configured to attach to the natural thigh via a socket.
 16. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause performance of a method for controlling a lower limb prosthesis having a shank segment and a motorized knee at a knee joint that is configured to attach to a thigh of a trans-femoral amputee, the method comprising: receiving a first set of data related to locomotion of the shank segment from a first sensor comprising a single inertial measurement unit (IMU) configured to be located on the shank segment of the lower limb prosthesis; receiving a second set of data related to an angle of the shank segment at the knee joint from a second sensor configured to be located on the lower limb prosthesis; determine a kinematics of the thigh based on the first set of data and the second set of data, the kinematics of the thigh comprising a vertical displacement of the thigh, a horizontal displacement of the thigh, or an absolute angle of the thigh with respect to gravity; identify a current locomotion activity of the amputee based on the kinematics of the thigh; and control the motorized knee based on the current locomotion activity.
 17. The non-transitory computer readable medium of claim 16, wherein the IMU comprises an accelerometer or a gyroscope.
 18. The non-transitory computer readable medium of claim 16, wherein the processor is further configured to estimate, based at least in part on one or more of the first set of data and the second set of data, the sagittal plane relative angle between the thigh segment and the shank segment with respect to two or more gait events that are indicative of a given gait characteristic.
 19. The non-transitory computer readable medium of claim 16, wherein identifying the current locomotion activity of the amputee is further based on a torque associated with the thigh
 20. The non-transitory computer readable medium of claim 16, wherein the thigh segment is the amputee's natural thigh segment, and the motorized knee comprises a proximal connector configured to attach to the natural thigh segment via a socket.
 21. The non-transitory computer readable medium of claim 16, wherein the current locomotion activity comprises: fumbling around (FA), generation (GEN), dissipation (DIS), standing-to-sitting (STS1), sitting-to-standing (STS2), or sitting (SIT). 